#include "indirizzo.h"
#include "pagina.h"
#include <p33FJ256GP710.h>
int main(void);
int main(void){
	IndirizzoDSPIC testaFormaIndirizzo;
	uint16_t itera;
	BufferIstruzioni bufferI1,bufferI2;
	BufferDati bufferD1, bufferD2;
	bool risultato;
	for(itera=0;itera<512;itera++){
		bufferI1[itera]=0;
		bufferI2[itera]=0;
		bufferD1[itera]=0;
		bufferD2[itera]=0;
	}
	bufferI1[56]=11259375;
	bufferI1[80]=756;
	bufferD1[35]=-4;
	bufferD1[10]=87;
	//setta Leds
	AD1PCFGH|=0x00C0; //setta come uscite digitali i pin RA7 (AN23) e RA6 (AN22)
	TRISA=0;
	PORTA=0;
	testaFormaIndirizzo.addr32=0x19000;
	if ((testaFormaIndirizzo.addr24.addrHi==0x1)&&(testaFormaIndirizzo.addr24.addrLo==0x9000))
		PORTA|=0x0001;
	else
		PORTA|=0x0010;
	risultato=scriviPaginaIstruzioni(testaFormaIndirizzo,0,&bufferI1);
	if (risultato)
		PORTA|=0x0002;
	else
		PORTA|=0x0020;
	risultato=leggiPaginaIstruzioni(testaFormaIndirizzo,0,&bufferI2);
	risultato=true;
	for (itera=0;itera<512;itera++)
		if (bufferI1[itera]!=bufferI2[itera])
			risultato=false;
	if (risultato)
			PORTA|=0x0004;
		else
			PORTA|=0x0040;
	risultato=scriviPaginaDati(testaFormaIndirizzo,1,&bufferD1);
	risultato=leggiPaginaDati(testaFormaIndirizzo,1,&bufferD2);
	risultato=true;
	for (itera=0;itera<512;itera++)
		if (bufferD1[itera]!=bufferD2[itera])
			risultato=false;
	if (risultato)
			PORTA|=0x0008;
		else
			PORTA|=0x0080;
	while(1){
		;
	}//fine loop while di pausa per controllo
}//fine main
